//JX507_tables.c
/*****************************************************************************/
/*!
 *  \file        JX507_tables.c \n
 *  \version     1.0 \n
 *  \author      Meinicke \n
 *  \brief       Image-sensor-specific tables and other
 *               constant values/structures for OV8810. \n
 *
 *  \revision    $Revision: 803 $ \n
 *               $Author: $ \n
 *               $Date: 2010-02-26 16:35:22 +0100 (Fr, 26 Feb 2010) $ \n
 *               $Id: JX507_tables.c 803 2010-02-26 15:35:22Z  $ \n
 */
/*  This is an unpublished work, the copyright in which vests in Silicon Image
 *  GmbH. The information contained herein is the property of Silicon Image GmbH
 *  and is supplied without liability for errors or omissions. No part may be
 *  reproduced or used expect as authorized by contract or other written
 *  permission. Copyright(c) Silicon Image GmbH, 2009, all rights reserved.
 */
/*****************************************************************************/
/*
#include "stdinc.h"

#if( JX507_DRIVER_USAGE == USE_CAM_DRV_EN )
*/


#include <ebase/types.h>
#include <ebase/trace.h>
#include <ebase/builtins.h>

#include <common/return_codes.h>

#include "isi.h"
#include "isi_iss.h"
#include "isi_priv.h"
#include "JX507_MIPI_priv.h"


/*****************************************************************************
 * DEFINES
 *****************************************************************************/


/*****************************************************************************
 * GLOBALS
 *****************************************************************************/

// Image sensor register settings default values taken from JX-507 setting file.
// The settings may be altered by the code in IsiSetupSensor.
const IsiRegDescription_t JX507_g_aRegDescription_twolane[] =
{
	{0x12, 0x43,"0x0100",eReadWrite}, 
	{0x0D, 0x50,"0x0100",eReadWrite}, 
	{0x0E, 0x10,"0x0100",eReadWrite}, 
	{0x0F, 0x04,"0x0100",eReadWrite}, 
	{0x10, 0x13,"0x0100",eReadWrite}, 
	{0x11, 0x80,"0x0100",eReadWrite},   
	{0x20, 0x88,"0x0100",eReadWrite}, 
	{0x21, 0x07,"0x0100",eReadWrite}, 
	{0x22, 0x2A,"0x0100",eReadWrite}, 
	{0x23, 0x06,"0x0100",eReadWrite}, 
	{0x24, 0x00,"0x0100",eReadWrite}, 
	{0x25, 0xC0,"0x0100",eReadWrite}, 
	{0x26, 0x35,"0x0100",eReadWrite},   
	{0x27, 0x96,"0x0100",eReadWrite}, 
	{0x28, 0x07,"0x0100",eReadWrite}, 
	{0x29, 0x02,"0x0100",eReadWrite}, 
	{0x2A, 0x81,"0x0100",eReadWrite}, 
	{0x2B, 0x2A,"0x0100",eReadWrite}, 
	{0x2C, 0x06,"0x0100",eReadWrite}, 
	{0x2D, 0x03,"0x0100",eReadWrite},   
	{0x2E, 0xE8,"0x0100",eReadWrite}, 
	{0x2F, 0x04,"0x0100",eReadWrite}, 
	{0x30, 0x9C,"0x0100",eReadWrite}, 
	{0x31, 0x14,"0x0100",eReadWrite}, 
	{0x32, 0xBE,"0x0100",eReadWrite}, 
	{0x33, 0x18,"0x0100",eReadWrite}, 
	{0x34, 0x3E,"0x0100",eReadWrite}, 
	{0x35, 0xEC,"0x0100",eReadWrite}, 
	{0x5F, 0x43,"0x0100",eReadWrite}, 
	{0x60, 0x27,"0x0100",eReadWrite},   
	{0x61, 0xFC,"0x0100",eReadWrite},   
	{0x62, 0x00,"0x0100",eReadWrite}, 
	{0x63, 0xC0,"0x0100",eReadWrite}, 
	{0x64, 0x07,"0x0100",eReadWrite},   
	{0x67, 0x79,"0x0100",eReadWrite}, 
	{0x69, 0x74,"0x0100",eReadWrite}, 
	{0x6A, 0x3A,"0x0100",eReadWrite}, 
	{0x13, 0x81,"0x0100",eReadWrite}, 
	{0x14, 0x80,"0x0100",eReadWrite}, 
	{0x16, 0xC0,"0x0100",eReadWrite},
	{0x17, 0x40,"0x0100",eReadWrite},
	{0x18, 0xD9,"0x0100",eReadWrite},
	{0x19, 0x29,"0x0100",eReadWrite},
	{0x38, 0xE9,"0x0100",eReadWrite},
	{0x39, 0x20,"0x0100",eReadWrite},
	{0x4a, 0x03,"0x0100",eReadWrite},
	{0x49, 0x10,"0x0100",eReadWrite},
	{0x50, 0x10,"0x0100",eReadWrite},
	{0x1D, 0x00,"0x0100",eReadWrite},
	{0x1E, 0xC0,"0x0100",eReadWrite},
	{0x68, 0x00,"0x0100",eReadWrite},
	{0x6C, 0x00,"0x0100",eReadWrite},
	{0x73, 0x33,"0x0100",eReadWrite},
	{0x70, 0x69,"0x0100",eReadWrite},
	{0x76, 0x40,"0x0100",eReadWrite},
	{0x77, 0x06,"0x0100",eReadWrite},
	{0x6D, 0x09,"0x0100",eReadWrite},
	{0x74, 0x02,"0x0100",eReadWrite},
	{0x12, 0x03,"0x0100",eReadWrite},
	{0x00, 0x00,"eTableEnd",eTableEnd}
};

//10-bit raw, 2-lane mipi, 1280x960 @30fps, 2x binning on
const IsiRegDescription_t JX507_g_1296x972_twolane[] =
{
	{0x12,0x43,"0x0100",eReadWrite}, 
	{0x0D,0x50,"0x0100",eReadWrite}, 
	{0x0E,0x10,"0x0100",eReadWrite}, 
	{0x0F,0x04,"0x0100",eReadWrite}, 
	{0x10,0x13,"0x0100",eReadWrite}, 
	{0x11,0x80,"0x0100",eReadWrite}, 
	{0x20,0xBC,"0x0100",eReadWrite}, 
	{0x21,0x0A,"0x0100",eReadWrite}, 
	{0x22,0x54,"0x0100",eReadWrite}, 
	{0x23,0x04,"0x0100",eReadWrite}, 
	{0x24,0x10,"0x0100",eReadWrite}, 
	{0x25,0xCC,"0x0100",eReadWrite}, 
	{0x26,0x35,"0x0100",eReadWrite}, 
	{0x27,0x96,"0x0100",eReadWrite}, 
	{0x28,0x07,"0x0100",eReadWrite}, 
	{0x29,0x02,"0x0100",eReadWrite}, 
	{0x2A,0x81,"0x0100",eReadWrite}, 
	{0x2B,0x2A,"0x0100",eReadWrite}, 
	{0x2C,0x02,"0x0100",eReadWrite}, 
	{0x2D,0x00,"0x0100",eReadWrite}, 
	{0x2E,0xEB,"0x0100",eReadWrite}, 
	{0x2F,0x04,"0x0100",eReadWrite}, 
	{0x31,0x14,"0x0100",eReadWrite}, 
	{0x32,0xBE,"0x0100",eReadWrite}, 
	{0x33,0x18,"0x0100",eReadWrite}, 
	{0x34,0x3E,"0x0100",eReadWrite}, 
	{0x35,0xEC,"0x0100",eReadWrite}, 
	{0x5F,0x03,"0x0100",eReadWrite}, 
	{0x60,0x27,"0x0100",eReadWrite}, //
	{0x61,0xFC,"0x0100",eReadWrite}, 
	{0x62,0x00,"0x0100",eReadWrite}, 
	{0x63,0xC0,"0x0100",eReadWrite}, 
	{0x64,0x07,"0x0100",eReadWrite}, 
	{0x67,0x79,"0x0100",eReadWrite}, 
	{0x69,0x74,"0x0100",eReadWrite}, 
	{0x6A,0x3A,"0x0100",eReadWrite}, //
	{0x13,0x81,"0x0100",eReadWrite}, 
	{0x14,0x80,"0x0100",eReadWrite}, 
	{0x16,0xC0,"0x0100",eReadWrite}, 
	{0x17,0x40,"0x0100",eReadWrite}, 
	{0x18,0x4B,"0x0100",eReadWrite}, 
	{0x19,0x29,"0x0100",eReadWrite}, 
	{0x38,0xEE,"0x0100",eReadWrite}, 
	{0x39,0x1A,"0x0100",eReadWrite}, 
	{0x4a,0x03,"0x0100",eReadWrite}, 
	{0x49,0x40,"0x0100",eReadWrite}, 
	{0x50,0x10,"0x0100",eReadWrite}, 
	{0x1D,0x00,"0x0100",eReadWrite}, 
	{0x1E,0xC0,"0x0100",eReadWrite}, 
	{0x6C,0x00,"0x0100",eReadWrite}, 
	{0x73,0x33,"0x0100",eReadWrite}, 
	{0x70,0x69,"0x0100",eReadWrite}, 
	{0x76,0x54,"0x0100",eReadWrite}, 
	{0x77,0x06,"0x0100",eReadWrite}, 
	{0x6D,0x09,"0x0100",eReadWrite}, 
	{0x74,0x02,"0x0100",eReadWrite}, 
	{0x12,0x03,"0x0100",eReadWrite},
	{0x00,0x00,"eTableEnd",eTableEnd}


/*
	{0x12, 0x43,"0x0100",eReadWrite}, 
	{0x0D, 0x50,"0x0100",eReadWrite}, 
	{0x0E, 0x10,"0x0100",eReadWrite}, 
	{0x0F, 0x04,"0x0100",eReadWrite}, 
	{0x10, 0x13,"0x0100",eReadWrite}, 
	{0x11, 0x80,"0x0100",eReadWrite}, 
	{0x20, 0x88,"0x0100",eReadWrite}, 
	{0x21, 0x07,"0x0100",eReadWrite}, 
	{0x22, 0x2A,"0x0100",eReadWrite}, 
	{0x23, 0x06,"0x0100",eReadWrite}, 
	{0x24, 0x00,"0x0100",eReadWrite}, 
	{0x25, 0xC0,"0x0100",eReadWrite}, 
	{0x26, 0x35,"0x0100",eReadWrite}, 
	{0x27, 0x96,"0x0100",eReadWrite}, 
	{0x28, 0x07,"0x0100",eReadWrite}, 
	{0x29, 0x02,"0x0100",eReadWrite}, 
	{0x2A, 0x81,"0x0100",eReadWrite}, 
	{0x2B, 0x2A,"0x0100",eReadWrite}, 
	{0x2C, 0x06,"0x0100",eReadWrite}, 
	{0x2D, 0x03,"0x0100",eReadWrite}, 
	{0x2E, 0xE8,"0x0100",eReadWrite}, 
	{0x2F, 0x04,"0x0100",eReadWrite}, 
	{0x30, 0x9C,"0x0100",eReadWrite}, 
	{0x31, 0x14,"0x0100",eReadWrite}, 
	{0x32, 0xBE,"0x0100",eReadWrite}, 
	{0x33, 0x18,"0x0100",eReadWrite}, 
	{0x34, 0x3E,"0x0100",eReadWrite}, 
	{0x35, 0xEC,"0x0100",eReadWrite}, 
	{0x5F, 0x43,"0x0100",eReadWrite}, //
	{0x60, 0x27,"0x0100",eReadWrite}, 
	{0x61, 0xFC,"0x0100",eReadWrite}, 
	{0x62, 0x00,"0x0100",eReadWrite}, 
	{0x63, 0xC0,"0x0100",eReadWrite}, 
	{0x64, 0x07,"0x0100",eReadWrite}, 
	{0x67, 0x79,"0x0100",eReadWrite}, 
	{0x69, 0x74,"0x0100",eReadWrite}, //
	{0x6A, 0x3A,"0x0100",eReadWrite}, 
	{0x13, 0x81,"0x0100",eReadWrite}, 
	{0x14, 0x80,"0x0100",eReadWrite}, 
	{0x16, 0xC0,"0x0100",eReadWrite}, 
	{0x17, 0x40,"0x0100",eReadWrite}, 
	{0x18, 0xD9,"0x0100",eReadWrite}, 
	{0x19, 0x29,"0x0100",eReadWrite}, 
	{0x38, 0xE9,"0x0100",eReadWrite}, 
	{0x39, 0x20,"0x0100",eReadWrite}, 
	{0x4a, 0x03,"0x0100",eReadWrite}, 
	{0x49, 0x10,"0x0100",eReadWrite}, 
	{0x50, 0x10,"0x0100",eReadWrite}, 
	{0x1D, 0x00,"0x0100",eReadWrite}, 
	{0x1E, 0xC0,"0x0100",eReadWrite}, 
	{0x68, 0x00,"0x0100",eReadWrite}, 
	{0x6C, 0x00,"0x0100",eReadWrite}, 
	{0x73, 0x33,"0x0100",eReadWrite}, 
	{0x70, 0x69,"0x0100",eReadWrite}, 
	{0x76, 0x40,"0x0100",eReadWrite}, 
	{0x77, 0x06,"0x0100",eReadWrite}, 
	{0x6D, 0x09,"0x0100",eReadWrite},
	{0x74, 0x02,"0x0100",eReadWrite}, 
	{0x12, 0x03,"0x0100",eReadWrite},
	{0x00, 0x00,"eTableEnd",eTableEnd}
*/
	/* 
	//{0x12, 0x40,"0x0100",eReadWrite}, 
	{0x0D, 0x50,"0x0100",eReadWrite}, 
	{0x0E, 0x10,"0x0100",eReadWrite}, 
	{0x0F, 0x04,"0x0100",eReadWrite}, 
	{0x10, 0x13,"0x0100",eReadWrite}, 
	{0x11, 0x80,"0x0100",eReadWrite}, 
	{0x20, 0x08,"0x0100",eReadWrite}, 
	{0x21, 0x09,"0x0100",eReadWrite}, 
	{0x22, 0x24,"0x0100",eReadWrite}, 
	{0x23, 0x05,"0x0100",eReadWrite}, 
	{0x24, 0x00,"0x0100",eReadWrite}, 
	{0x25, 0xC0,"0x0100",eReadWrite}, 
	{0x26, 0x35,"0x0100",eReadWrite}, 
	{0x27, 0x99,"0x0100",eReadWrite}, 
	{0x28, 0x0D,"0x0100",eReadWrite}, 
	{0x29, 0x01,"0x0100",eReadWrite}, 
	{0x2A, 0x80,"0x0100",eReadWrite}, 
	{0x2B, 0x29,"0x0100",eReadWrite}, 
	{0x2C, 0x55,"0x0100",eReadWrite}, 
	{0x2D, 0x6C,"0x0100",eReadWrite}, 
	{0x2E, 0x7E,"0x0100",eReadWrite}, 
	{0x2F, 0x04,"0x0100",eReadWrite}, 
	{0x31, 0x14,"0x0100",eReadWrite}, 
	{0x32, 0xBE,"0x0100",eReadWrite}, 
	{0x33, 0x18,"0x0100",eReadWrite}, 
	{0x34, 0x3E,"0x0100",eReadWrite}, 
	{0x35, 0xEC,"0x0100",eReadWrite}, 
	{0x5F, 0x43,"0x0100",eReadWrite}, 
	{0x60, 0x27,"0x0100",eReadWrite}, 
	{0x61, 0xFC,"0x0100",eReadWrite}, 
	{0x62, 0x00,"0x0100",eReadWrite}, 
	{0x63, 0xC0,"0x0100",eReadWrite}, 
	{0x64, 0x07,"0x0100",eReadWrite}, 
	{0x67, 0x79,"0x0100",eReadWrite}, 
	{0x69, 0x74,"0x0100",eReadWrite}, 
	{0x6A, 0x3A,"0x0100",eReadWrite}, 
	{0x13, 0x81,"0x0100",eReadWrite}, 
	{0x14, 0x80,"0x0100",eReadWrite}, 
	{0x16, 0xC0,"0x0100",eReadWrite}, 
	{0x17, 0x40,"0x0100",eReadWrite}, 
	{0x18, 0x8A,"0x0100",eReadWrite}, 
	{0x19, 0x29,"0x0100",eReadWrite}, 
	{0x38, 0x0F,"0x0100",eReadWrite}, 
	{0x39, 0xFF,"0x0100",eReadWrite}, 
	{0x4a, 0x03,"0x0100",eReadWrite}, 
	{0x49, 0x10,"0x0100",eReadWrite}, 
	{0x50, 0x10,"0x0100",eReadWrite}, 
	{0x1D, 0x00,"0x0100",eReadWrite}, 
	{0x1E, 0xC0,"0x0100",eReadWrite}, 
	{0x68, 0x00,"0x0100",eReadWrite}, 
	{0x6C, 0x00,"0x0100",eReadWrite}, 
	{0x73, 0x33,"0x0100",eReadWrite}, 
	{0x70, 0x69,"0x0100",eReadWrite}, 
	{0x76, 0x60,"0x0100",eReadWrite}, 
	{0x77, 0x09,"0x0100",eReadWrite}, 
	{0x6D, 0x09,"0x0100",eReadWrite}, 
	{0x74, 0x02,"0x0100",eReadWrite}, 
	{0x12, 0x03,"0x0100",eReadWrite}, 
	{0x00, 0x00,"eTableEnd",eTableEnd} */
};

//10-bit raw, 2-lane mipi, 1920x1080 @30fps, binning off
const IsiRegDescription_t JX507_g_1920x1080_twolane[] =
{
	{0x12, 0x40,"0x0100",eReadWrite},  
	{0x0D, 0x50,"0x0100",eReadWrite},  
	{0x0E, 0x10,"0x0100",eReadWrite},  
	{0x0F, 0x04,"0x0100",eReadWrite},  
	{0x10, 0x13,"0x0100",eReadWrite},  
	{0x11, 0x80,"0x0100",eReadWrite},  
	{0x20, 0x08,"0x0100",eReadWrite},  
	{0x21, 0x09,"0x0100",eReadWrite},  
	{0x22, 0x24,"0x0100",eReadWrite},  
	{0x23, 0x05,"0x0100",eReadWrite},  
	{0x24, 0x80,"0x0100",eReadWrite},  
	{0x25, 0x38,"0x0100",eReadWrite},  
	{0x26, 0x47,"0x0100",eReadWrite},  
	{0x27, 0x99,"0x0100",eReadWrite},  
	{0x28, 0x0D,"0x0100",eReadWrite},  
	{0x29, 0x01,"0x0100",eReadWrite},  
	{0x2A, 0x80,"0x0100",eReadWrite},  
	{0x2B, 0x29,"0x0100",eReadWrite},  
	{0x2C, 0x55,"0x0100",eReadWrite},  
	{0x2D, 0x6C,"0x0100",eReadWrite},  
	{0x2E, 0x7E,"0x0100",eReadWrite},  
	{0x2F, 0x04,"0x0100",eReadWrite},  
	{0x31, 0x14,"0x0100",eReadWrite},  
	{0x32, 0xBE,"0x0100",eReadWrite},  
	{0x33, 0x18,"0x0100",eReadWrite},  
	{0x34, 0x3E,"0x0100",eReadWrite},  
	{0x35, 0xEC,"0x0100",eReadWrite},  
	{0x5F, 0x43,"0x0100",eReadWrite},  
	{0x60, 0x27,"0x0100",eReadWrite},  
	{0x61, 0xFC,"0x0100",eReadWrite},  
	{0x62, 0x00,"0x0100",eReadWrite},  
	{0x63, 0xC0,"0x0100",eReadWrite},  
	{0x64, 0x07,"0x0100",eReadWrite},  
	{0x67, 0x79,"0x0100",eReadWrite},  
	{0x69, 0x74,"0x0100",eReadWrite},  
	{0x6A, 0x3A,"0x0100",eReadWrite},  
	{0x13, 0x81,"0x0100",eReadWrite},  
	{0x14, 0x80,"0x0100",eReadWrite},  
	{0x16, 0xC0,"0x0100",eReadWrite},  
	{0x17, 0x40,"0x0100",eReadWrite},  
	{0x18, 0x8A,"0x0100",eReadWrite},  
	{0x19, 0x29,"0x0100",eReadWrite},  
	{0x38, 0x0F,"0x0100",eReadWrite},  
	{0x39, 0xFF,"0x0100",eReadWrite},  
	{0x4a, 0x03,"0x0100",eReadWrite},  
	{0x49, 0x10,"0x0100",eReadWrite},  
	{0x50, 0x10,"0x0100",eReadWrite},  
	{0x1D, 0x00,"0x0100",eReadWrite},  
	{0x1E, 0xC0,"0x0100",eReadWrite},  
	{0x68, 0x00,"0x0100",eReadWrite},  
	{0x6C, 0x00,"0x0100",eReadWrite},  
	{0x73, 0x33,"0x0100",eReadWrite},  
	{0x70, 0x69,"0x0100",eReadWrite},  
	{0x76, 0x60,"0x0100",eReadWrite},  
	{0x77, 0x09,"0x0100",eReadWrite},  
	{0x6D, 0x09,"0x0100",eReadWrite},  
	{0x74, 0x02,"0x0100",eReadWrite},  
	{0x12, 0x00,"0x0100",eReadWrite},  
	{0x00, 0x00,"eTableEnd",eTableEnd} 
};

//10-bit raw, 2-lane mipi, 2592x1944 @15fps, full-size
const IsiRegDescription_t JX507_g_2592x1944_twolane[] =
{								 
	{0x12, 0x40,"0x0100",eReadWrite}, 
	{0x0D, 0x50,"0x0100",eReadWrite}, 
	{0x0E, 0x10,"0x0100",eReadWrite}, 
	{0x0F, 0x04,"0x0100",eReadWrite}, 
	{0x10, 0x13,"0x0100",eReadWrite}, 
	{0x11, 0x80,"0x0100",eReadWrite}, 
	{0x20, 0xA8,"0x0100",eReadWrite}, 
	{0x21, 0x0B,"0x0100",eReadWrite}, 
	{0x22, 0xF6,"0x0100",eReadWrite}, 
	{0x23, 0x07,"0x0100",eReadWrite}, 
	{0x24, 0x20,"0x0100",eReadWrite}, 
	{0x25, 0x98,"0x0100",eReadWrite}, 
	{0x26, 0x7A,"0x0100",eReadWrite}, 
	{0x27, 0x9D,"0x0100",eReadWrite}, 
	{0x28, 0x19,"0x0100",eReadWrite}, 
	{0x29, 0x01,"0x0100",eReadWrite}, 
	{0x2A, 0x80,"0x0100",eReadWrite}, 
	{0x2B, 0x29,"0x0100",eReadWrite}, 
	{0x2C, 0x01,"0x0100",eReadWrite}, 
	{0x2D, 0x00,"0x0100",eReadWrite}, 
	{0x2E, 0xEA,"0x0100",eReadWrite}, 
	{0x2F, 0x04,"0x0100",eReadWrite}, 
	{0x31, 0x14,"0x0100",eReadWrite}, 
	{0x32, 0xBE,"0x0100",eReadWrite}, 
	{0x33, 0x18,"0x0100",eReadWrite}, 
	{0x34, 0x3E,"0x0100",eReadWrite}, 
	{0x35, 0xEC,"0x0100",eReadWrite}, 
	{0x5F, 0x43,"0x0100",eReadWrite}, 
	{0x60, 0x27,"0x0100",eReadWrite}, 
	{0x61, 0xFC,"0x0100",eReadWrite}, 
	{0x62, 0x00,"0x0100",eReadWrite}, 
	{0x63, 0xC0,"0x0100",eReadWrite}, 
	{0x64, 0x07,"0x0100",eReadWrite}, 
	{0x67, 0x79,"0x0100",eReadWrite}, 
	{0x69, 0x72,"0x0100",eReadWrite}, 
	{0x6A, 0x3A,"0x0100",eReadWrite}, 
	{0x13, 0x81,"0x0100",eReadWrite}, 
	{0x14, 0x80,"0x0100",eReadWrite}, 
	{0x16, 0xC0,"0x0100",eReadWrite}, 
	{0x17, 0x40,"0x0100",eReadWrite}, 
	{0x18, 0x31,"0x0100",eReadWrite}, 
	{0x19, 0x29,"0x0100",eReadWrite}, 
	{0x38, 0xE7,"0x0100",eReadWrite}, 
	{0x39, 0x34,"0x0100",eReadWrite}, 
	{0x4a, 0x03,"0x0100",eReadWrite}, 
	{0x49, 0x10,"0x0100",eReadWrite}, 
	{0x50, 0x10,"0x0100",eReadWrite}, 
	{0x1D, 0x00,"0x0100",eReadWrite}, 
	{0x1E, 0xC0,"0x0100",eReadWrite}, 
	{0x68, 0x00,"0x0100",eReadWrite}, 
	{0x6C, 0x00,"0x0100",eReadWrite}, 
	{0x73, 0x33,"0x0100",eReadWrite}, 
	{0x70, 0x69,"0x0100",eReadWrite}, 
	{0x76, 0xA8,"0x0100",eReadWrite}, 
	{0x77, 0x0C,"0x0100",eReadWrite}, 
	{0x6D, 0x09,"0x0100",eReadWrite}, 
	{0x74, 0x02,"0x0100",eReadWrite}, 
	{0x12, 0x00,"0x0100",eReadWrite}, 
	{0x00, 0x00,"eTableEnd",eTableEnd}
};


const IsiRegDescription_t JX507_g_aRegDescription_fourlane[] =
{
	// MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
{0x0103, 0x01 , "0x0100",eReadWrite}, //software reset
{0x0100, 0x00 , "0x0100",eReadWrite}, //software standby
{0x0100, 0x00 , "0x0100",eReadWrite}, //
{0x0100, 0x00 , "0x0100",eReadWrite}, //
{0x0100 , 0x00 , "0x0100",eReadWrite}, //
{0x0302 , 0x1e , "0x0100",eReadWrite}, //pll1_multi
{0x0303 , 0x00 , "0x0100",eReadWrite}, //pll1_divm
{0x0304 , 0x03 , "0x0100",eReadWrite}, //pll1_div_mipi
{0x030e , 0x00 , "0x0100",eReadWrite}, //pll2_rdiv
{0x030f , 0x09 , "0x0100",eReadWrite}, //pll2_divsp
{0x0312 , 0x01 , "0x0100",eReadWrite}, //pll2_pre_div0, pll2_r_divdac
{0x031e , 0x0c , "0x0100",eReadWrite}, //pll1_no_lat
{0x3600 , 0x00 , "0x0100",eReadWrite},
{0x3601 , 0x00 , "0x0100",eReadWrite},
{0x3602 , 0x00 , "0x0100",eReadWrite},
{0x3603 , 0x00 , "0x0100",eReadWrite},
{0x3604 , 0x22 , "0x0100",eReadWrite},
{0x3605 , 0x30 , "0x0100",eReadWrite},
{0x3606 , 0x00 , "0x0100",eReadWrite},
{0x3607 , 0x20 , "0x0100",eReadWrite},
{0x3608 , 0x11 , "0x0100",eReadWrite},
{0x3609 , 0x28 , "0x0100",eReadWrite},
{0x360a , 0x00 , "0x0100",eReadWrite},
{0x360b , 0x06 , "0x0100",eReadWrite},
{0x360c , 0xdc , "0x0100",eReadWrite},
{0x360d , 0x40 , "0x0100",eReadWrite},
{0x360e , 0x0c , "0x0100",eReadWrite},
{0x360f , 0x20 , "0x0100",eReadWrite},
{0x3610 , 0x07 , "0x0100",eReadWrite},
{0x3611 , 0x20 , "0x0100",eReadWrite},
{0x3612 , 0x88 , "0x0100",eReadWrite},
{0x3613 , 0x80 , "0x0100",eReadWrite},
{0x3614 , 0x58 , "0x0100",eReadWrite},
{0x3615 , 0x00 , "0x0100",eReadWrite},
{0x3616 , 0x4a , "0x0100",eReadWrite},
{0x3617 , 0xb0 , "0x0100",eReadWrite},
{0x3618 , 0x56 , "0x0100",eReadWrite},
{0x3619 , 0x70 , "0x0100",eReadWrite},
{0x361a , 0x99 , "0x0100",eReadWrite},
{0x361b , 0x00 , "0x0100",eReadWrite},
{0x361c , 0x07 , "0x0100",eReadWrite},
{0x361d , 0x00 , "0x0100",eReadWrite},
{0x361e , 0x00 , "0x0100",eReadWrite},
{0x361f , 0x00 , "0x0100",eReadWrite},
{0x3638 , 0xff , "0x0100",eReadWrite},
{0x3633 , 0x0c , "0x0100",eReadWrite},
{0x3634 , 0x0c , "0x0100",eReadWrite},
{0x3635 , 0x0c , "0x0100",eReadWrite},
{0x3636 , 0x0c , "0x0100",eReadWrite},
{0x3645 , 0x13 , "0x0100",eReadWrite},
{0x3646 , 0x83 , "0x0100",eReadWrite},
{0x364a , 0x07 , "0x0100",eReadWrite},
{0x3015 , 0x01 , "0x0100",eReadWrite}, //
{0x3018 , 0x72 , "0x0100",eReadWrite}, //MIPI 4 lane
{0x3020 , 0x93 , "0x0100",eReadWrite}, //Clock switch output normal, pclk_div =/1
{0x3022 , 0x01 , "0x0100",eReadWrite}, //pd_mipi enable when rst_sync
{0x3031 , 0x0a , "0x0100",eReadWrite}, //MIPI 10-bit mode
{0x3034 , 0x00 , "0x0100",eReadWrite},
{0x3106 , 0x01 , "0x0100",eReadWrite}, //sclk_div, sclk_pre_div
{0x3305 , 0xf1 , "0x0100",eReadWrite},
{0x3308 , 0x00 , "0x0100",eReadWrite},
{0x3309 , 0x28 , "0x0100",eReadWrite},
{0x330a , 0x00 , "0x0100",eReadWrite},
{0x330b , 0x20 , "0x0100",eReadWrite},
{0x330c , 0x00 , "0x0100",eReadWrite},
{0x330d , 0x00 , "0x0100",eReadWrite},
{0x330e , 0x00 , "0x0100",eReadWrite},
{0x330f , 0x40 , "0x0100",eReadWrite},
{0x3307 , 0x04 , "0x0100",eReadWrite},
{0x3500 , 0x00 , "0x0100",eReadWrite}, //exposure H
{0x3501 , 0x4d , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x40 , "0x0100",eReadWrite}, //exposure L
{0x3503 , 0x00 , "0x0100",eReadWrite}, //gain delay 1 frame, exposure delay 1 frame, real gain
{0x3505 , 0x80 , "0x0100",eReadWrite}, //gain option
{0x3508 , 0x04 , "0x0100",eReadWrite}, //gain H
{0x3509 , 0x00 , "0x0100",eReadWrite}, //gain L
{0x350c , 0x00 , "0x0100",eReadWrite}, //short gain H
{0x350d , 0x80 , "0x0100",eReadWrite}, //short gain L
{0x3510 , 0x00 , "0x0100",eReadWrite}, //short exposure H
{0x3511 , 0x02 , "0x0100",eReadWrite}, //short exposure M
{0x3512 , 0x00 , "0x0100",eReadWrite}, //short exposure L
{0x3700 , 0x18 , "0x0100",eReadWrite},
{0x3701 , 0x0c , "0x0100",eReadWrite},
{0x3702 , 0x28 , "0x0100",eReadWrite},
{0x3703 , 0x19 , "0x0100",eReadWrite},
{0x3704 , 0x14 , "0x0100",eReadWrite},
{0x3705 , 0x00 , "0x0100",eReadWrite},
{0x3706 , 0x35 , "0x0100",eReadWrite},
{0x3707 , 0x04 , "0x0100",eReadWrite},
{0x3708 , 0x24 , "0x0100",eReadWrite},
{0x3709 , 0x33 , "0x0100",eReadWrite},
{0x370a , 0x00 , "0x0100",eReadWrite},
{0x370b , 0xb5 , "0x0100",eReadWrite},
{0x370c , 0x04 , "0x0100",eReadWrite},
{0x3718 , 0x12 , "0x0100",eReadWrite},
{0x3719 , 0x31 , "0x0100",eReadWrite},
{0x3712 , 0x42 , "0x0100",eReadWrite},
{0x3714 , 0x24 , "0x0100",eReadWrite},
{0x371e , 0x19 , "0x0100",eReadWrite},
{0x371f , 0x40 , "0x0100",eReadWrite},
{0x3720 , 0x05 , "0x0100",eReadWrite},
{0x3721 , 0x05 , "0x0100",eReadWrite},
{0x3724 , 0x06 , "0x0100",eReadWrite},
{0x3725 , 0x01 , "0x0100",eReadWrite},
{0x3726 , 0x06 , "0x0100",eReadWrite},
{0x3728 , 0x05 , "0x0100",eReadWrite},
{0x3729 , 0x02 , "0x0100",eReadWrite},
{0x372a , 0x03 , "0x0100",eReadWrite},
{0x372b , 0x53 , "0x0100",eReadWrite},
{0x372c , 0xa3 , "0x0100",eReadWrite},
{0x372d , 0x53 , "0x0100",eReadWrite},
{0x372e , 0x06 , "0x0100",eReadWrite},
{0x372f , 0x10 , "0x0100",eReadWrite},
{0x3730 , 0x01 , "0x0100",eReadWrite},
{0x3731 , 0x06 , "0x0100",eReadWrite},
{0x3732 , 0x14 , "0x0100",eReadWrite},
{0x3733 , 0x10 , "0x0100",eReadWrite},
{0x3734 , 0x40 , "0x0100",eReadWrite},
{0x3736 , 0x20 , "0x0100",eReadWrite},
{0x373a , 0x05 , "0x0100",eReadWrite},
{0x373b , 0x06 , "0x0100",eReadWrite},
{0x373c , 0x0a , "0x0100",eReadWrite},
{0x373e , 0x03 , "0x0100",eReadWrite},
{0x3755 , 0x10 , "0x0100",eReadWrite},
{0x3758 , 0x00 , "0x0100",eReadWrite},
{0x3759 , 0x4c , "0x0100",eReadWrite},
{0x375a , 0x06 , "0x0100",eReadWrite},
{0x375b , 0x13 , "0x0100",eReadWrite},
{0x375c , 0x20 , "0x0100",eReadWrite},
{0x375d , 0x02 , "0x0100",eReadWrite},
{0x375e , 0x00 , "0x0100",eReadWrite},
{0x375f , 0x14 , "0x0100",eReadWrite},
{0x3768 , 0x22 , "0x0100",eReadWrite},
{0x3769 , 0x44 , "0x0100",eReadWrite},
{0x376a , 0x44 , "0x0100",eReadWrite},
{0x3761 , 0x00 , "0x0100",eReadWrite},
{0x3762 , 0x00 , "0x0100",eReadWrite},
{0x3763 , 0x00 , "0x0100",eReadWrite},
{0x3766 , 0xff , "0x0100",eReadWrite},
{0x376b , 0x00 , "0x0100",eReadWrite},
{0x3772 , 0x23 , "0x0100",eReadWrite},
{0x3773 , 0x02 , "0x0100",eReadWrite},
{0x3774 , 0x16 , "0x0100",eReadWrite},
{0x3775 , 0x12 , "0x0100",eReadWrite},
{0x3776 , 0x04 , "0x0100",eReadWrite},
{0x3777 , 0x00 , "0x0100",eReadWrite},
{0x3778 , 0x1b , "0x0100",eReadWrite},
{0x37a0 , 0x44 , "0x0100",eReadWrite},
{0x37a1 , 0x3d , "0x0100",eReadWrite},
{0x37a2 , 0x3d , "0x0100",eReadWrite},
{0x37a3 , 0x00 , "0x0100",eReadWrite},
{0x37a4 , 0x00 , "0x0100",eReadWrite},
{0x37a5 , 0x00 , "0x0100",eReadWrite},
{0x37a6 , 0x00 , "0x0100",eReadWrite},
{0x37a7 , 0x44 , "0x0100",eReadWrite},
{0x37a8 , 0x4c , "0x0100",eReadWrite},
{0x37a9 , 0x4c , "0x0100",eReadWrite},
{0x3760 , 0x00 , "0x0100",eReadWrite},
{0x376f , 0x01 , "0x0100",eReadWrite},
{0x37aa , 0x44 , "0x0100",eReadWrite},
{0x37ab , 0x2e , "0x0100",eReadWrite},
{0x37ac , 0x2e , "0x0100",eReadWrite},
{0x37ad , 0x33 , "0x0100",eReadWrite},
{0x37ae , 0x0d   , "0x0100",eReadWrite},
{0x37af , 0x0d , "0x0100",eReadWrite},
{0x37b0 , 0x00 , "0x0100",eReadWrite},
{0x37b1 , 0x00 , "0x0100",eReadWrite},
{0x37b2 , 0x00 , "0x0100",eReadWrite},
{0x37b3 , 0x42 , "0x0100",eReadWrite},
{0x37b4 , 0x42 , "0x0100",eReadWrite},
{0x37b5 , 0x33 , "0x0100",eReadWrite},
{0x37b6 , 0x00 , "0x0100",eReadWrite},
{0x37b7 , 0x00 , "0x0100",eReadWrite},
{0x37b8 , 0x00 , "0x0100",eReadWrite},
{0x37b9 , 0xff , "0x0100",eReadWrite},
{0x3800 , 0x00 , "0x0100",eReadWrite}, //x start H
{0x3801 , 0x0c , "0x0100",eReadWrite}, //x start L
{0x3802 , 0x00 , "0x0100",eReadWrite}, //y start H
{0x3803 , 0x0c , "0x0100",eReadWrite}, //y start L
{0x3804 , 0x0c , "0x0100",eReadWrite}, //x end H
{0x3805 , 0xd3 , "0x0100",eReadWrite}, //x end L
{0x3806 , 0x09 , "0x0100",eReadWrite}, //y end H
{0x3807 , 0xa3 , "0x0100",eReadWrite}, //y end L
{0x3808 , 0x06 , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0x60 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x04 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0xc8 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //03 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x88 , "0x0100",eReadWrite}, //c4 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x04 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xdc , "0x0100",eReadWrite}, //VTS L
{0x3810 , 0x00 , "0x0100",eReadWrite}, //ISP x win H
{0x3811 , 0x04 , "0x0100",eReadWrite}, //ISP x win L
{0x3813 , 0x02 , "0x0100",eReadWrite}, //ISP y win L
{0x3814 , 0x03 , "0x0100",eReadWrite}, //x odd inc
{0x3815 , 0x01 , "0x0100",eReadWrite}, //x even inc
{0x3820 , 0x00 , "0x0100",eReadWrite}, //vflip off
{0x3821 , 0x67 , "0x0100",eReadWrite}, //mirror on, bin on
{0x382a , 0x03 , "0x0100",eReadWrite}, //y odd inc
{0x382b , 0x01 , "0x0100",eReadWrite}, //y even inc
{0x3830 , 0x08 , "0x0100",eReadWrite},
{0x3836 , 0x02 , "0x0100",eReadWrite},
{0x3837 , 0x18 , "0x0100",eReadWrite},
{0x3841 , 0xff , "0x0100",eReadWrite}, //window auto size enable
{0x3846 , 0x48 , "0x0100",eReadWrite},
{0x3d85 , 0x14 , "0x0100",eReadWrite}, //OTP power up load data enable, OTP powerr up load setting disable
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x80 , "0x0100",eReadWrite},
{0x4000 , 0xf1 , "0x0100",eReadWrite}, //out_range_trig, format_chg_trig, gain_trig, exp_chg_trig, median filter enable
{0x4001 , 0x10 , "0x0100",eReadWrite}, //total 128 black column
{0x4005 , 0x10 , "0x0100",eReadWrite}, //BLC target L
{0x4002 , 0x27 , "0x0100",eReadWrite}, //value used to limit BLC offset         
{0x4009 , 0x81 , "0x0100",eReadWrite}, //final BLC offset limitation enable
{0x400b , 0x0c , "0x0100",eReadWrite}, //DCBLC on, DCBLC manual mode on
{0x401b , 0x00 , "0x0100",eReadWrite}, //zero line R coefficient
{0x401d , 0x00 , "0x0100",eReadWrite}, //zoro line T coefficient
{0x4020 , 0x00 , "0x0100",eReadWrite}, //Anchor left start H
{0x4021 , 0x04 , "0x0100",eReadWrite}, //Anchor left start L
{0x4022 , 0x04 , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xb9 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x05 , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x2a , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x05 , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x2b , "0x0100",eReadWrite}, //Anchor right end L
{0x4028 , 0x00 , "0x0100",eReadWrite}, //top zero line start
{0x4029 , 0x02 , "0x0100",eReadWrite}, //top zero line number
{0x402a , 0x04 , "0x0100",eReadWrite}, //top black line start
{0x402b , 0x04 , "0x0100",eReadWrite}, //top black line number
{0x402c , 0x02 , "0x0100",eReadWrite}, //bottom zero line start
{0x402d , 0x02 , "0x0100",eReadWrite}, //bottom zoro line number
{0x402e , 0x08 , "0x0100",eReadWrite}, //bottom black line start
{0x402f , 0x02 , "0x0100",eReadWrite}, //bottom black line number
{0x401f , 0x00 , "0x0100",eReadWrite}, //interpolation x disable, interpolation y disable, Anchor one disable
{0x4034 , 0x3f , "0x0100",eReadWrite},
{0x403d , 0x04 , "0x0100",eReadWrite}, //md_precison_en
{0x4300 , 0xff , "0x0100",eReadWrite}, //clip max H
{0x4301 , 0x00 , "0x0100",eReadWrite}, //clip min H
{0x4302 , 0x0f , "0x0100",eReadWrite}, //clip min L, clip max L
{0x4316 , 0x00 , "0x0100",eReadWrite},
{0x4500 , 0x38 , "0x0100",eReadWrite},
{0x4503 , 0x18 , "0x0100",eReadWrite},
{0x4600 , 0x00 , "0x0100",eReadWrite},
{0x4601 , 0xcb , "0x0100",eReadWrite},
{0x481f , 0x32 , "0x0100",eReadWrite}, //clk prepare min
{0x4837 , 0x16 , "0x0100",eReadWrite}, //global timing
{0x4850 , 0x10 , "0x0100",eReadWrite}, //lane 1 = 1, lane 0 = 0
{0x4851 , 0x32 , "0x0100",eReadWrite}, //lane 3 = 3, lane 2 = 2
{0x4b00 , 0x2a , "0x0100",eReadWrite},
{0x4b0d , 0x00 , "0x0100",eReadWrite},
{0x4d00 , 0x04 , "0x0100",eReadWrite}, //temperature sensor
{0x4d01 , 0x18 , "0x0100",eReadWrite},
{0x4d02 , 0xc3 , "0x0100",eReadWrite},
{0x4d03 , 0xff , "0x0100",eReadWrite},
{0x4d04 , 0xff , "0x0100",eReadWrite},
{0x4d05 , 0xff , "0x0100",eReadWrite}, //temperature sensor
{0x5000 , 0x7e , "0x0100",eReadWrite}, //slave AWB gain enable, slave AWB statistics enable, master AWB gain enable, master AWB statistics enable, BPC on, WPC on
{0x5001 , 0x01 , "0x0100",eReadWrite}, //BLC on
{0x5002 , 0x08 , "0x0100",eReadWrite}, //H scale off, WBMATCH select slave sensors gain, WBMATCH off, OTP_DPC off,        
{0x5003 , 0x20 , "0x0100",eReadWrite},//; DPC_DBC buffer control enable, WB
{0x5046 , 0x12 , "0x0100",eReadWrite},
{0x5901 , 0x00 , "0x0100",eReadWrite}, //H skip off, V skip off
{0x5e00 , 0x00 , "0x0100",eReadWrite}, //test pattern off
{0x5e01 , 0x41 , "0x0100",eReadWrite}, //window cut enable
{0x382d , 0x7f , "0x0100",eReadWrite},
{0x4825 , 0x3a , "0x0100",eReadWrite}, //lpx_p_min
{0x4826 , 0x40 , "0x0100",eReadWrite}, //hs_prepare_min
{0x4808 , 0x25 , "0x0100",eReadWrite}, //wake up 
{0x0000 ,0x00,"eTableEnd",eTableEnd}
	
};

const IsiRegDescription_t JX507_g_1296x972_fourlane[] =
{
//;; MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
//;;
{0x0100 , 0x00 , "0x0100",eReadWrite},
{0x030f , 0x09 , "0x0100",eReadWrite}, //pll2_divsp
{0x3501 , 0x4d , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x40 , "0x0100",eReadWrite}, //exposure L
//{0x3508 , 0x04 , "0x0100",eReadWrite}, //gain H
{0x3700 , 0x18 , "0x0100",eReadWrite},
{0x3701 , 0x0c , "0x0100",eReadWrite},
{0x3702 , 0x28 , "0x0100",eReadWrite},
{0x3703 , 0x19 , "0x0100",eReadWrite},
{0x3704 , 0x14 , "0x0100",eReadWrite},
{0x3706 , 0x35 , "0x0100",eReadWrite},
{0x3707 , 0x04 , "0x0100",eReadWrite},
{0x3708 , 0x24 , "0x0100",eReadWrite},
{0x3709 , 0x33 , "0x0100",eReadWrite},
{0x370a , 0x00 , "0x0100",eReadWrite},
{0x370b , 0xb5 , "0x0100",eReadWrite},
{0x370c , 0x04 , "0x0100",eReadWrite},
{0x3718 , 0x12 , "0x0100",eReadWrite},
{0x3712 , 0x42 , "0x0100",eReadWrite},
{0x371e , 0x19 , "0x0100",eReadWrite},
{0x371f , 0x40 , "0x0100",eReadWrite},
{0x3720 , 0x05 , "0x0100",eReadWrite},
{0x3721 , 0x05 , "0x0100",eReadWrite},
{0x3724 , 0x06 , "0x0100",eReadWrite},
{0x3725 , 0x01 , "0x0100",eReadWrite},
{0x3726 , 0x06 , "0x0100",eReadWrite},
{0x3728 , 0x05 , "0x0100",eReadWrite},
{0x3729 , 0x02 , "0x0100",eReadWrite},
{0x372a , 0x03 , "0x0100",eReadWrite},
{0x372b , 0x53 , "0x0100",eReadWrite},
{0x372c , 0xa3 , "0x0100",eReadWrite},
{0x372d , 0x53 , "0x0100",eReadWrite},
{0x372e , 0x06 , "0x0100",eReadWrite},
{0x372f , 0x10 , "0x0100",eReadWrite},
{0x3730 , 0x01 , "0x0100",eReadWrite},
{0x3731 , 0x06 , "0x0100",eReadWrite},
{0x3732 , 0x14 , "0x0100",eReadWrite},
{0x3736 , 0x20 , "0x0100",eReadWrite},
{0x373a , 0x05 , "0x0100",eReadWrite},
{0x373b , 0x06 , "0x0100",eReadWrite},
{0x373c , 0x0a , "0x0100",eReadWrite},
{0x373e , 0x03 , "0x0100",eReadWrite},
{0x375a , 0x06 , "0x0100",eReadWrite},
{0x375b , 0x13 , "0x0100",eReadWrite},
{0x375d , 0x02 , "0x0100",eReadWrite},
{0x375f , 0x14 , "0x0100",eReadWrite},
{0x3772 , 0x23 , "0x0100",eReadWrite},
{0x3773 , 0x02 , "0x0100",eReadWrite},
{0x3774 , 0x16 , "0x0100",eReadWrite},
{0x3775 , 0x12 , "0x0100",eReadWrite},
{0x3776 , 0x04 , "0x0100",eReadWrite},
{0x3778 , 0x1b , "0x0100",eReadWrite},
{0x37a0 , 0x44 , "0x0100",eReadWrite},
{0x37a1 , 0x3d , "0x0100",eReadWrite},
{0x37a2 , 0x3d , "0x0100",eReadWrite},
{0x37a7 , 0x44 , "0x0100",eReadWrite},
{0x37a8 , 0x4c , "0x0100",eReadWrite},
{0x37a9 , 0x4c , "0x0100",eReadWrite},
{0x37aa , 0x44 , "0x0100",eReadWrite},
{0x37ab , 0x2e , "0x0100",eReadWrite},
{0x37ac , 0x2e , "0x0100",eReadWrite},
{0x37ad , 0x33 , "0x0100",eReadWrite},
{0x37ae , 0x0d , "0x0100",eReadWrite},
{0x37af , 0x0d , "0x0100",eReadWrite},
{0x37b3 , 0x42 , "0x0100",eReadWrite},
{0x37b4 , 0x42 , "0x0100",eReadWrite},
{0x37b5 , 0x33 , "0x0100",eReadWrite},
{0x3808 , 0x06 , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0x60 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x04 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0xc8 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x88 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x04 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xdc , "0x0100",eReadWrite}, //VTS L
{0x3814 , 0x03 , "0x0100",eReadWrite}, //x odd inc
{0x3821 , 0x67 , "0x0100",eReadWrite}, //mirror on, bin on
{0x382a , 0x03 , "0x0100",eReadWrite}, //y odd inc
{0x3830 , 0x08 , "0x0100",eReadWrite},
{0x3836 , 0x02 , "0x0100",eReadWrite},
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x80 , "0x0100",eReadWrite},
{0x4001 , 0x10 , "0x0100",eReadWrite}, //total 128 black column
{0x4022 , 0x04 , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xb9 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x05 , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x2a , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x05 , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x2b , "0x0100",eReadWrite}, //Anchor right end L
{0x402b , 0x04 , "0x0100",eReadWrite}, //top black line number
{0x402e , 0x08 , "0x0100",eReadWrite}, //bottom black line start
{0x4500 , 0x38 , "0x0100",eReadWrite},
{0x4600 , 0x00 , "0x0100",eReadWrite},
{0x4601 , 0xcb , "0x0100",eReadWrite},
{0x382d , 0x7f , "0x0100",eReadWrite},
//{0x0100 , 0x01 , "0x0100",eReadWrite},
{0x0000 ,0x00,"eTableEnd",eTableEnd}

};


const IsiRegDescription_t JX507_g_1920x1080_fourlane[] =
{
//;; MIPI=720Mbps, SysClk=72Mhz,Dac Clock=360Mhz.
//;;
{0x0100 , 0x00 , "0x0100",eReadWrite},
{0x030f , 0x09 , "0x0100",eReadWrite}, //pll2_divsp
{0x3501 , 0x4d , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x40 , "0x0100",eReadWrite}, //exposure L
//{0x3508 , 0x04 , "0x0100",eReadWrite}, //gain H
{0x3700 , 0x18 , "0x0100",eReadWrite},
{0x3701 , 0x0c , "0x0100",eReadWrite},
{0x3702 , 0x28 , "0x0100",eReadWrite},
{0x3703 , 0x19 , "0x0100",eReadWrite},
{0x3704 , 0x14 , "0x0100",eReadWrite},
{0x3706 , 0x35 , "0x0100",eReadWrite},
{0x3707 , 0x04 , "0x0100",eReadWrite},
{0x3708 , 0x24 , "0x0100",eReadWrite},
{0x3709 , 0x33 , "0x0100",eReadWrite},
{0x370a , 0x00 , "0x0100",eReadWrite},
{0x370b , 0xb5 , "0x0100",eReadWrite},
{0x370c , 0x04 , "0x0100",eReadWrite},
{0x3718 , 0x12 , "0x0100",eReadWrite},
{0x3712 , 0x42 , "0x0100",eReadWrite},
{0x371e , 0x19 , "0x0100",eReadWrite},
{0x371f , 0x40 , "0x0100",eReadWrite},
{0x3720 , 0x05 , "0x0100",eReadWrite},
{0x3721 , 0x05 , "0x0100",eReadWrite},
{0x3724 , 0x06 , "0x0100",eReadWrite},
{0x3725 , 0x01 , "0x0100",eReadWrite},
{0x3726 , 0x06 , "0x0100",eReadWrite},
{0x3728 , 0x05 , "0x0100",eReadWrite},
{0x3729 , 0x02 , "0x0100",eReadWrite},
{0x372a , 0x03 , "0x0100",eReadWrite},
{0x372b , 0x53 , "0x0100",eReadWrite},
{0x372c , 0xa3 , "0x0100",eReadWrite},
{0x372d , 0x53 , "0x0100",eReadWrite},
{0x372e , 0x06 , "0x0100",eReadWrite},
{0x372f , 0x10 , "0x0100",eReadWrite},
{0x3730 , 0x01 , "0x0100",eReadWrite},
{0x3731 , 0x06 , "0x0100",eReadWrite},
{0x3732 , 0x14 , "0x0100",eReadWrite},
{0x3736 , 0x20 , "0x0100",eReadWrite},
{0x373a , 0x05 , "0x0100",eReadWrite},
{0x373b , 0x06 , "0x0100",eReadWrite},
{0x373c , 0x0a , "0x0100",eReadWrite},
{0x373e , 0x03 , "0x0100",eReadWrite},
{0x375a , 0x06 , "0x0100",eReadWrite},
{0x375b , 0x13 , "0x0100",eReadWrite},
{0x375d , 0x02 , "0x0100",eReadWrite},
{0x375f , 0x14 , "0x0100",eReadWrite},
{0x3772 , 0x23 , "0x0100",eReadWrite},
{0x3773 , 0x02 , "0x0100",eReadWrite},
{0x3774 , 0x16 , "0x0100",eReadWrite},
{0x3775 , 0x12 , "0x0100",eReadWrite},
{0x3776 , 0x04 , "0x0100",eReadWrite},
{0x3778 , 0x1b , "0x0100",eReadWrite},
{0x37a0 , 0x44 , "0x0100",eReadWrite},
{0x37a1 , 0x3d , "0x0100",eReadWrite},
{0x37a2 , 0x3d , "0x0100",eReadWrite},
{0x37a7 , 0x44 , "0x0100",eReadWrite},
{0x37a8 , 0x4c , "0x0100",eReadWrite},
{0x37a9 , 0x4c , "0x0100",eReadWrite},
{0x37aa , 0x44 , "0x0100",eReadWrite},
{0x37ab , 0x2e , "0x0100",eReadWrite},
{0x37ac , 0x2e , "0x0100",eReadWrite},
{0x37ad , 0x33 , "0x0100",eReadWrite},
{0x37ae , 0x0d , "0x0100",eReadWrite},
{0x37af , 0x0d , "0x0100",eReadWrite},
{0x37b3 , 0x42 , "0x0100",eReadWrite},
{0x37b4 , 0x42 , "0x0100",eReadWrite},
{0x37b5 , 0x33 , "0x0100",eReadWrite},
{0x3808 , 0x06 , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0x60 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x04 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0xc8 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x88 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x04 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xdc , "0x0100",eReadWrite}, //VTS L
{0x3814 , 0x03 , "0x0100",eReadWrite}, //x odd inc
{0x3821 , 0x67 , "0x0100",eReadWrite}, //mirror on, bin on
{0x382a , 0x03 , "0x0100",eReadWrite}, //y odd inc
{0x3830 , 0x08 , "0x0100",eReadWrite},
{0x3836 , 0x02 , "0x0100",eReadWrite},
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x80 , "0x0100",eReadWrite},
{0x4001 , 0x10 , "0x0100",eReadWrite}, //total 128 black column
{0x4022 , 0x04 , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xb9 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x05 , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x2a , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x05 , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x2b , "0x0100",eReadWrite}, //Anchor right end L
{0x402b , 0x04 , "0x0100",eReadWrite}, //top black line number
{0x402e , 0x08 , "0x0100",eReadWrite}, //bottom black line start
{0x4500 , 0x38 , "0x0100",eReadWrite},
{0x4600 , 0x00 , "0x0100",eReadWrite},
{0x4601 , 0xcb , "0x0100",eReadWrite},
{0x382d , 0x7f , "0x0100",eReadWrite},
//{0x0100 , 0x01 , "0x0100",eReadWrite},
{0x0000 ,0x00,"eTableEnd",eTableEnd}

};


const IsiRegDescription_t JX507_g_2592x1944_fourlane[] =
{
{0x0100 , 0x00 , "0x0100",eReadWrite},
{0x030f , 0x04 , "0x0100",eReadWrite}, //pll2_divsp
{0x3501 , 0x9a , "0x0100",eReadWrite}, //exposure M
{0x3502 , 0x20 , "0x0100",eReadWrite}, //exposure L
//{0x3508 , 0x02 , "0x0100",eReadWrite}, //gain H
{0x3700 , 0x30 , "0x0100",eReadWrite},
{0x3701 , 0x18 , "0x0100",eReadWrite},
{0x3702 , 0x50 , "0x0100",eReadWrite},
{0x3703 , 0x32 , "0x0100",eReadWrite},
{0x3704 , 0x28 , "0x0100",eReadWrite},
{0x3706 , 0x6a , "0x0100",eReadWrite},
{0x3707 , 0x08 , "0x0100",eReadWrite},
{0x3708 , 0x48 , "0x0100",eReadWrite},
{0x3709 , 0x66 , "0x0100",eReadWrite},
{0x370a , 0x01 , "0x0100",eReadWrite},
{0x370b , 0x6a , "0x0100",eReadWrite},
{0x370c , 0x07 , "0x0100",eReadWrite},
{0x3718 , 0x14 , "0x0100",eReadWrite},
{0x3712 , 0x44 , "0x0100",eReadWrite},
{0x371e , 0x31 , "0x0100",eReadWrite},
{0x371f , 0x7f , "0x0100",eReadWrite},
{0x3720 , 0x0a , "0x0100",eReadWrite},
{0x3721 , 0x0a , "0x0100",eReadWrite},
{0x3724 , 0x0c , "0x0100",eReadWrite},
{0x3725 , 0x02 , "0x0100",eReadWrite},
{0x3726 , 0x0c , "0x0100",eReadWrite},
{0x3728 , 0x0a , "0x0100",eReadWrite},
{0x3729 , 0x03 , "0x0100",eReadWrite},
{0x372a , 0x06 , "0x0100",eReadWrite},
{0x372b , 0xa6 , "0x0100",eReadWrite},
{0x372c , 0xa6 , "0x0100",eReadWrite},
{0x372d , 0xa6 , "0x0100",eReadWrite},
{0x372e , 0x0c , "0x0100",eReadWrite},
{0x372f , 0x20 , "0x0100",eReadWrite},
{0x3730 , 0x02 , "0x0100",eReadWrite},
{0x3731 , 0x0c , "0x0100",eReadWrite},
{0x3732 , 0x28 , "0x0100",eReadWrite},
{0x3736 , 0x30 , "0x0100",eReadWrite},
{0x373a , 0x0a , "0x0100",eReadWrite},
{0x373b , 0x0b , "0x0100",eReadWrite},
{0x373c , 0x14 , "0x0100",eReadWrite},
{0x373e , 0x06 , "0x0100",eReadWrite},
{0x375a , 0x0c , "0x0100",eReadWrite},
{0x375b , 0x26 , "0x0100",eReadWrite},
{0x375d , 0x04 , "0x0100",eReadWrite},
{0x375f , 0x28 , "0x0100",eReadWrite},
{0x3772 , 0x46 , "0x0100",eReadWrite},
{0x3773 , 0x04 , "0x0100",eReadWrite},
{0x3774 , 0x2c , "0x0100",eReadWrite},
{0x3775 , 0x13 , "0x0100",eReadWrite},
{0x3776 , 0x08 , "0x0100",eReadWrite},
{0x3778 , 0x16 , "0x0100",eReadWrite},
{0x37a0 , 0x88 , "0x0100",eReadWrite},
{0x37a1 , 0x7a , "0x0100",eReadWrite},
{0x37a2 , 0x7a , "0x0100",eReadWrite},
{0x37a7 , 0x88 , "0x0100",eReadWrite},
{0x37a8 , 0x98 , "0x0100",eReadWrite},
{0x37a9 , 0x98 , "0x0100",eReadWrite},
{0x37aa , 0x88 , "0x0100",eReadWrite},
{0x37ab , 0x5c , "0x0100",eReadWrite},
{0x37ac , 0x5c , "0x0100",eReadWrite},
{0x37ad , 0x55 , "0x0100",eReadWrite},
{0x37ae , 0x19 , "0x0100",eReadWrite},
{0x37af , 0x19 , "0x0100",eReadWrite},
{0x37b3 , 0x84 , "0x0100",eReadWrite},
{0x37b4 , 0x84 , "0x0100",eReadWrite},
{0x37b5 , 0x66 , "0x0100",eReadWrite},
{0x3808 , 0x0c , "0x0100",eReadWrite}, //x output size H
{0x3809 , 0xc0 , "0x0100",eReadWrite}, //x output size L
{0x380a , 0x09 , "0x0100",eReadWrite}, //y output size H
{0x380b , 0x90 , "0x0100",eReadWrite}, //y output size L
{0x380c , 0x07 , "0x0100",eReadWrite}, //HTS H
{0x380d , 0x94 , "0x0100",eReadWrite}, //HTS L
{0x380e , 0x09 , "0x0100",eReadWrite}, //VTS H
{0x380f , 0xaa , "0x0100",eReadWrite}, //VTS L
{0x3814 , 0x01 , "0x0100",eReadWrite}, //x odd inc
{0x3821 , 0x46 , "0x0100",eReadWrite}, //mirror on, bin off
{0x382a , 0x01 , "0x0100",eReadWrite}, //y odd inc
{0x3830 , 0x06 , "0x0100",eReadWrite},
{0x3836 , 0x01 , "0x0100",eReadWrite},
{0x3f08 , 0x08 , "0x0100",eReadWrite},
{0x3f0a , 0x00 , "0x0100",eReadWrite},
{0x4001 , 0x00 , "0x0100",eReadWrite}, //total 256 black column
{0x4022 , 0x0b , "0x0100",eReadWrite}, //Anchor left end H
{0x4023 , 0xc3 , "0x0100",eReadWrite}, //Anchor left end L
{0x4024 , 0x0c , "0x0100",eReadWrite}, //Anchor right start H
{0x4025 , 0x36 , "0x0100",eReadWrite}, //Anchor right start L
{0x4026 , 0x0c , "0x0100",eReadWrite}, //Anchor right end H
{0x4027 , 0x37 , "0x0100",eReadWrite}, //Anchor right end L
{0x402b , 0x08 , "0x0100",eReadWrite}, //top black line number
{0x402e , 0x0c , "0x0100",eReadWrite}, //bottom black line start
{0x4500 , 0x58 , "0x0100",eReadWrite},
{0x4600 , 0x01 , "0x0100",eReadWrite},
{0x4601 , 0x97 , "0x0100",eReadWrite},
{0x382d , 0xff , "0x0100",eReadWrite},
//{0x0100 , 0x01 , "0x0100",eReadWrite},
{0x0000 ,0x00,"eTableEnd",eTableEnd}

};







